#ifndef OPTABLE_REVERSE_H
#define OPTABLE_REVERSE_H

static void CPU_CB_opcode_run_reverse(CPU_t*);
static void CPU_ED_opcode_run_reverse(CPU_t*);

/* This will all compress quite well, through UPX */

// Reverse opcode table
static opcodep opcode_reverse[256] = {
	&nop_reverse,				//0
	&ld_bc_num16_reverse,
	&ld_bc_a_reverse,
	&inc_reg16_reverse,
	&inc_reg8_reverse,
	&dec_reg8_reverse,
	&ld_r_num8_reverse,
	&rlca_reverse,
	
	&ex_af_afp_reverse,
	&add_hl_reg16_reverse,
	&ld_a_bc_reverse,
	&dec_reg16_reverse,
	&inc_reg8_reverse,
	&dec_reg8_reverse,
	&ld_r_num8_reverse,
	&rrca_reverse,
	
	&djnz_reverse,				//10
	&ld_de_num16_reverse,
	&ld_de_a_reverse,
	&inc_reg16_reverse,
	&inc_reg8_reverse,
	&dec_reg8_reverse,
	&ld_r_num8_reverse,
	&rla_reverse,
	
	&jr_reverse,
	&add_hl_reg16_reverse,
	&ld_a_de_reverse,
	&dec_reg16_reverse,
	&inc_reg8_reverse,
	&dec_reg8_reverse,
	&ld_r_num8_reverse,
	&rra_reverse,
	
	&jr_condition_reverse,		//20
	&ld_hl_num16_reverse,
	&ld_mem16_hlf_reverse,
	&inc_reg16_reverse,
	&inc_reg8_reverse,
	&dec_reg8_reverse,
	&ld_r_num8_reverse,
	&daa_reverse,
	
	&jr_condition_reverse,
	&add_hl_reg16_reverse,
	&ld_hlf_mem16_reverse,
	&dec_reg16_reverse,
	&inc_reg8_reverse,
	&dec_reg8_reverse,
	&ld_r_num8_reverse,
	&cpl_reverse,
	
	&jr_condition_reverse,		//30
	&ld_sp_num16_reverse,
	&ld_mem16_a_reverse,
	&inc_reg16_reverse,
	&inc_reg8_reverse,
	&dec_reg8_reverse,
	&ld_r_num8_reverse,
	&scf_reverse,
	
	&jr_condition_reverse,
	&add_hl_reg16_reverse,
	&ld_a_mem16_reverse,
	&dec_reg16_reverse,
	&inc_reg8_reverse,
	&dec_reg8_reverse,
	&ld_r_num8_reverse,
	&ccf_reverse,
	
	&ld_r_r_reverse,		//40
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	
	&ld_r_r_reverse,		//50
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	
	&ld_r_r_reverse,		//60
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	
	&ld_r_r_reverse,		//70
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&halt_reverse,
	&ld_r_r_reverse,
	
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	&ld_r_r_reverse,
	
	&add_a_reg8_reverse,	//80
	&add_a_reg8_reverse,
	&add_a_reg8_reverse,
	&add_a_reg8_reverse,
	&add_a_reg8_reverse,
	&add_a_reg8_reverse,
	&add_a_reg8_reverse,
	&add_a_reg8_reverse,
	
	&adc_a_reg8_reverse,
	&adc_a_reg8_reverse,
	&adc_a_reg8_reverse,
	&adc_a_reg8_reverse,
	&adc_a_reg8_reverse,
	&adc_a_reg8_reverse,
	&adc_a_reg8_reverse,
	&adc_a_reg8_reverse,
	
	&sub_a_reg8_reverse,		//90
	&sub_a_reg8_reverse,
	&sub_a_reg8_reverse,
	&sub_a_reg8_reverse,
	&sub_a_reg8_reverse,
	&sub_a_reg8_reverse,
	&sub_a_reg8_reverse,
	&sub_a_reg8_reverse,
	
	&sbc_a_reg8_reverse,
	&sbc_a_reg8_reverse,
	&sbc_a_reg8_reverse,
	&sbc_a_reg8_reverse,
	&sbc_a_reg8_reverse,
	&sbc_a_reg8_reverse,
	&sbc_a_reg8_reverse,
	&sbc_a_reg8_reverse,
	
	&and_reg8_reverse,		//a0
	&and_reg8_reverse,
	&and_reg8_reverse,
	&and_reg8_reverse,
	&and_reg8_reverse,
	&and_reg8_reverse,
	&and_reg8_reverse,
	&and_reg8_reverse,
	
	&xor_reg8_reverse,
	&xor_reg8_reverse,
	&xor_reg8_reverse,
	&xor_reg8_reverse,
	&xor_reg8_reverse,
	&xor_reg8_reverse,
	&xor_reg8_reverse,
	&xor_reg8_reverse,
	
	&or_reg8_reverse,		//b0
	&or_reg8_reverse,
	&or_reg8_reverse,
	&or_reg8_reverse,
	&or_reg8_reverse,
	&or_reg8_reverse,
	&or_reg8_reverse,
	&or_reg8_reverse,
	
	&cp_reg8_reverse,
	&cp_reg8_reverse,
	&cp_reg8_reverse,
	&cp_reg8_reverse,
	&cp_reg8_reverse,
	&cp_reg8_reverse,
	&cp_reg8_reverse,
	&cp_reg8_reverse,

	&ret_condition_reverse,		//c0
	&pop_reg16_reverse,
	&jp_condition_reverse,
	&jp_reverse,
	&call_condition_reverse,
	&push_reg16_reverse,
	&add_a_num8_reverse,
	&rst_reverse,
	
	&ret_condition_reverse,
	&ret_reverse,
	&jp_condition_reverse,
	&CPU_CB_opcode_run_reverse,
	&call_condition_reverse,
	&call_reverse,
	&adc_a_num8_reverse,
	&rst_reverse,
	
	&ret_condition_reverse,		//d0
	&pop_reg16_reverse,
	&jp_condition_reverse,
	&out_reverse,
	&call_condition_reverse,
	&push_reg16_reverse,
	&sub_a_num8_reverse,
	&rst_reverse,
	
	&ret_condition_reverse,
	&exx_reverse,
	&jp_condition_reverse,
	&in_reverse,
	&call_condition_reverse,
	&ednop_reverse,				//DD prefix
	&sbc_a_num8_reverse,
	&rst_reverse,
	
	&ret_condition_reverse,		//e0
	&pop_reg16_reverse,
	&jp_condition_reverse,
	&ex_sp_hl_reverse,
	&call_condition_reverse,
	&push_reg16_reverse,
	&and_num8_reverse,
	&rst_reverse,
	
	&ret_condition_reverse,
	&jp_hl_reverse,
	&jp_condition_reverse,
	&ex_de_hl_reverse,
	&call_condition_reverse,
	&CPU_ED_opcode_run_reverse,
	&xor_num8_reverse,
	&rst_reverse,
	
	&ret_condition_reverse,		//f0
	&pop_reg16_reverse,
	&jp_condition_reverse,
	&di_reverse,
	&call_condition_reverse,
	&push_reg16_reverse,
	&or_num8_reverse,
	&rst_reverse,
	
	&ret_condition_reverse,
	&ld_sp_hl_reverse,
	&jp_condition_reverse,
	&ei_reverse,
	&call_condition_reverse,
	&ednop_reverse,				//FD prefix
	&cp_num8_reverse,
	&rst_reverse
};

//CB opcodes
static opcodep CBtab_reverse[256] = {
	&rlc_reg_reverse,			//00
	&rlc_reg_reverse,
	&rlc_reg_reverse,
	&rlc_reg_reverse,
	&rlc_reg_reverse,
	&rlc_reg_reverse,
	&rlc_reg_reverse,
	&rlc_reg_reverse,

	&rrc_reg_reverse,
	&rrc_reg_reverse,
	&rrc_reg_reverse,
	&rrc_reg_reverse,
	&rrc_reg_reverse,
	&rrc_reg_reverse,
	&rrc_reg_reverse,
	&rrc_reg_reverse,

	&rl_reg_reverse,			//10
	&rl_reg_reverse,
	&rl_reg_reverse,
	&rl_reg_reverse,
	&rl_reg_reverse,
	&rl_reg_reverse,
	&rl_reg_reverse,
	&rl_reg_reverse,
	
	&rr_reg_reverse,
	&rr_reg_reverse,
	&rr_reg_reverse,
	&rr_reg_reverse,
	&rr_reg_reverse,
	&rr_reg_reverse,
	&rr_reg_reverse,
	&rr_reg_reverse,
	
	&sla_reg_reverse,		//20
	&sla_reg_reverse,
	&sla_reg_reverse,
	&sla_reg_reverse,
	&sla_reg_reverse,
	&sla_reg_reverse,
	&sla_reg_reverse,
	&sla_reg_reverse,
	
	&sra_reg_reverse,
	&sra_reg_reverse,
	&sra_reg_reverse,
	&sra_reg_reverse,
	&sra_reg_reverse,
	&sra_reg_reverse,
	&sra_reg_reverse,
	&sra_reg_reverse,
	
	&sll_reg_reverse,		//30
	&sll_reg_reverse,
	&sll_reg_reverse,
	&sll_reg_reverse,
	&sll_reg_reverse,
	&sll_reg_reverse,
	&sll_reg_reverse,
	&sll_reg_reverse,
	
	&srl_reg_reverse,
	&srl_reg_reverse,
	&srl_reg_reverse,
	&srl_reg_reverse,
	&srl_reg_reverse,
	&srl_reg_reverse,
	&srl_reg_reverse,
	&srl_reg_reverse,
	
	&bit_reverse,			//40
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,

	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,

	&bit_reverse,			//50
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,

	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,

	&bit_reverse,			//60
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,

	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,

	&bit_reverse,			//70
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,

	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,
	&bit_reverse,

	&res_reverse,			//80
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,

	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,

	&res_reverse,			//90
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,

	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,

	&res_reverse,			//a0
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,

	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,

	&res_reverse,			//b0
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,

	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,
	&res_reverse,

	&set_reverse,			//c0
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,

	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,

	&set_reverse,			//d0
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,

	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,

	&set_reverse,			//e0
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,

	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,

	&set_reverse,			//f0
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,

	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse,
	&set_reverse
};

// index register cb opcodes
static index_opcodep ICB_opcode_reverse[256] = {
	&rlc_ind_reverse,			//00
	&rlc_ind_reverse,
	&rlc_ind_reverse,
	&rlc_ind_reverse,
	&rlc_ind_reverse,
	&rlc_ind_reverse,
	&rlc_ind_reverse,
	&rlc_ind_reverse,

	&rrc_ind_reverse,
	&rrc_ind_reverse,
	&rrc_ind_reverse,
	&rrc_ind_reverse,
	&rrc_ind_reverse,
	&rrc_ind_reverse,
	&rrc_ind_reverse,
	&rrc_ind_reverse,

	&rl_ind_reverse,			//10
	&rl_ind_reverse,
	&rl_ind_reverse,
	&rl_ind_reverse,
	&rl_ind_reverse,
	&rl_ind_reverse,
	&rl_ind_reverse,
	&rl_ind_reverse,
	
	&rr_ind_reverse,
	&rr_ind_reverse,
	&rr_ind_reverse,
	&rr_ind_reverse,
	&rr_ind_reverse,
	&rr_ind_reverse,
	&rr_ind_reverse,
	&rr_ind_reverse,
	
	&sla_ind_reverse,		//20
	&sla_ind_reverse,
	&sla_ind_reverse,
	&sla_ind_reverse,
	&sla_ind_reverse,
	&sla_ind_reverse,
	&sla_ind_reverse,
	&sla_ind_reverse,
	
	&sra_ind_reverse,
	&sra_ind_reverse,
	&sra_ind_reverse,
	&sra_ind_reverse,
	&sra_ind_reverse,
	&sra_ind_reverse,
	&sra_ind_reverse,
	&sra_ind_reverse,
	
	&sll_ind_reverse,		//30
	&sll_ind_reverse,
	&sll_ind_reverse,
	&sll_ind_reverse,
	&sll_ind_reverse,
	&sll_ind_reverse,
	&sll_ind_reverse,
	&sll_ind_reverse,
	
	&srl_ind_reverse,
	&srl_ind_reverse,
	&srl_ind_reverse,
	&srl_ind_reverse,
	&srl_ind_reverse,
	&srl_ind_reverse,
	&srl_ind_reverse,
	&srl_ind_reverse,
	
	&bit_ind_reverse,			//40
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,

	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,

	&bit_ind_reverse,			//50
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,

	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,

	&bit_ind_reverse,			//60
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,

	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,

	&bit_ind_reverse,			//70
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,

	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,
	&bit_ind_reverse,

	&res_ind_reverse,			//80
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,

	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,

	&res_ind_reverse,			//90
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,

	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,

	&res_ind_reverse,			//a0
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,

	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,

	&res_ind_reverse,			//b0
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,

	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,
	&res_ind_reverse,

	&set_ind_reverse,			//c0
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,

	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,

	&set_ind_reverse,			//d0
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,

	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,

	&set_ind_reverse,			//e0
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,

	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,

	&set_ind_reverse,			//f0
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,

	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse,
	&set_ind_reverse
};

//ED opcodes
/*  According Sean McLaughlin's 28day's 
	the majority of ED prefixed opcodes 
	are nops...
	*/
static opcodep EDtab_reverse[256] = {
	&ednop_reverse,				//00
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,

	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ednop_reverse,				//10
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ednop_reverse,				//20
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,

	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ednop_reverse,				//30
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&in_reg_c_reverse,			//40
	&out_reg_reverse,
	&sbc_hl_reg16_reverse,
	&ld_mem16_reg16_reverse,
	&neg_reverse,
	&retn_reverse,
	&IM0_reverse,
	&ld_i_a_reverse,

	&in_reg_c_reverse,
	&out_reg_reverse,
	&adc_hl_reg16_reverse,
	&ld_reg16_mem16_reverse,
	&neg_reverse,
	&reti_reverse,
	&IM0_reverse,
	&ld_r_a_reverse,
	
	&in_reg_c_reverse,			//50
	&out_reg_reverse,
	&sbc_hl_reg16_reverse,
	&ld_mem16_reg16_reverse,
	&neg_reverse,
	&retn_reverse,
	&IM1_reverse,
	&ld_a_i_reverse,

	&in_reg_c_reverse,
	&out_reg_reverse,
	&adc_hl_reg16_reverse,
	&ld_reg16_mem16_reverse,
	&neg_reverse,
	&reti_reverse,
	&IM2_reverse,
	&ld_a_r_reverse,
	
	&in_reg_c_reverse,			//60
	&out_reg_reverse,
	&sbc_hl_reg16_reverse,
	&ld_mem16_reg16_reverse,
	&neg_reverse,
	&retn_reverse,
	&IM0_reverse,
	&rrd_reverse,

	&in_reg_c_reverse,
	&out_reg_reverse,
	&adc_hl_reg16_reverse,
	&ld_reg16_mem16_reverse,
	&neg_reverse,
	&reti_reverse,
	&IM0_reverse,
	&rld_reverse,
	
	&in_reg_c_reverse,			//70
	&out_reg_reverse,
	&sbc_hl_reg16_reverse,
	&ld_mem16_reg16_reverse,
	&neg_reverse,
	&retn_reverse,
	&IM1_reverse,
	&ednop_reverse,

	&in_reg_c_reverse,
	&out_reg_reverse,
	&adc_hl_reg16_reverse,
	&ld_reg16_mem16_reverse,
	&neg_reverse,
	&reti_reverse,
	&IM2_reverse,
	&ednop_reverse,
	
	&ednop_reverse,				//80
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,

	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ednop_reverse,				//90
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
		

	&ldi_reverse,				//a0
	&cpi_reverse,
	&ini_reverse,
	&outi_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ldd_reverse,
	&cpd_reverse,
	&ind_reverse,
	&outd_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ldir_reverse,				//b0
	&cpir_reverse,
	&inir_reverse,
	&otir_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&lddr_reverse,
	&cpdr_reverse,
	&indr_reverse,
	&otdr_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,

	&ednop_reverse,				//c0
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,

	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ednop_reverse,				//d0
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ednop_reverse,				//e0
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,

	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ednop_reverse,				//f0
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse,
	&ednop_reverse
};

#endif